In recent years, the amount of traffic over communication networks such as the Internet and wireless networks has increased greatly due to extensive usage of various web services where users download content such as web pages from different web sites to their client devices. In this disclosure, the term “client device” is used to represent any communication entity that is capable of downloading content from a server or other content storage over a communication network. Further, the term “server” is used to represent any communication entity that is capable of delivering content such as web pages to client devices over a communication network which may include the Internet and/or a wireless network. The server mentioned throughout this disclosure could also be referred to as a content server, an origin server, a content server host or an origin server host.
Typically, web pages, or parts thereof, are downloaded in a browsing session where a user of a client device can browse a web site or the like and click on links to obtain various web resources. Other types of content such as movies, music and TV programs can also be downloaded from a server. The term “content resource” is used herein to represent any content that can be downloaded in a browsing session. A content resource may thus, without limitation, be a web page or some part thereof, or some video or audio content which can be accessed from a web site.
In order to reduce the amount of traffic caused by such downloading, caching can be employed where content resources offered by a server are stored at a location which is “closer” to the client devices in terms of the number of transport links and network nodes involved, thereby reducing the transport distance and also the time it takes to get a requested content resource. For example, frequently requested content resources may be cached in this manner so as to reduce the traffic in the network caused by such requests and resulting communication between the client devices and the server, referred to as round-trips.
The location where content resources are cached in this manner is commonly referred to as a “cache” which term will be used herein. A cache is thus a storage for content resources. The term “origin server” is also commonly used to denote a server, or server host, where content is originally stored which content may be temporarily stored, i.e. cached, in a cache.
When content resources are downloaded from a server by accessing a web site or the like, a large number of round-trips between client device and server may be required when each content resource must be requested separately, only to be directed to the cache. This is required when HTTPS (Hypertext Transfer Protocol Secure) is employed while when HTTP (Hypertext Transfer Protocol) is employed the requests are terminated in the cache. For HTTPS the concept of “Blind Caching”, BC, also known as “Out-of-Band Caching”, OOBC, has been introduced to allow efficient caching also when HTTPS is employed. Briefly described, BC or OOBC allows for fetching content resources directly from a cache even when the content resources are encrypted e.g. using HTTPS. The number of round-trips in a browsing session can be reduced by employing a so-called cache map with information about where a range of different content resources can be fetched or retrieved from a cache. The cache map may also be referred to as a resource map. Throughout this disclosure, the terms “retrieving” and “downloading” are used interchangeably.
In brief, the server, typically an origin server or similar, sends the cache map to the client device early in a downloading session, and each time a new content resource is to be fetched, such as when a user clicks on or otherwise activates a link in a web page, the client device checks if that content resource is present on the cache map. A web page may be associated with numerous individual content resources, sometimes hundreds of them, and when the user navigates to such a web page the client device needs to fetch all these content resources. If any of the content resources are present on the cache map, the client device can retrieve those content resources from a cache according to the cache map, instead of requesting them from the server only to be directed to the cache. For further description of the cache map, reference is made to “Delivering content via Out-Of-Band Cache” draft-eriksson-oob-cache-00.text, by G. Eriksson and C. Holmberg:
https://github.com/EricssonResearch/blind-cache-draft/blob/master/draft-eriksson-oob-cache-latest.txt, retrieved on Feb. 8, 2016.
However, it is a problem with conventional procedures that the above-described caches for storing and providing content resources to client devices may not be utilized in an efficient manner. For example, a cache indicated in a cache map for a content resource may not be suitable for retrieving the content resource therefrom by a client device.